﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using System.Data;
using System.Data.SqlClient;

namespace DAO
{
    public partial class NhanVien_DAO
    {
        /// <summary>
        /// Hàm đăng nhập của nhân viên
        /// </summary>
        /// <param name="TenDangNhap"></param>
        /// <returns></returns>
        public DataTable DangNhap(string TenDangNhap)
        {            
            DataProvider dp = new DataProvider();
            DataTable dt = new DataTable();
            SqlParameter[] Parameter = new SqlParameter[1];

            Parameter[0] = new SqlParameter("@TenDangNhap", TenDangNhap);

            dt = dp.ExecuteQuery("DangNhap", Parameter);
            return dt;
        }
        /// <summary>
        /// Thêm mới một nhan viên
        /// </summary>
        /// <param name="nhanvien"></param>
        /// <returns></returns>
        public bool ThemMoiNhanVien(NhanVien nhanvien)
        {
            DataProvider dp = new DataProvider();
            SqlParameter[] Parameter = new SqlParameter[7];

            Parameter[0] = new SqlParameter("@TenNhanVien", nhanvien.TenNV);
            Parameter[1] = new SqlParameter("@DiaChi", nhanvien.DiaChi);
            Parameter[2] = new SqlParameter("@Email", nhanvien.Email);
            Parameter[3] = new SqlParameter("@DienThoai", nhanvien.DienThoai);
            Parameter[4] = new SqlParameter("@TenDangNhap", nhanvien.TenDN);
            Parameter[5] = new SqlParameter("@MatKhau", nhanvien.MatKhau);
            Parameter[6] = new SqlParameter("@maChucVu", nhanvien.MaChucVu);
            
            return dp.ExecutenonQuery("ThemMoiNhanVien", Parameter);
        }
        /// <summary>
        /// Lấy danh sách nhân viên
        /// </summary>
        /// <returns></returns>
        public DataTable LayDanhSachNhanVien()
        {
            DataProvider dp = new DataProvider();
            DataTable dt = new DataTable();
            dt = dp.ExecuteQuery("LoadDanhSachNhanVien");
            return dt;
        }
        /// <summary>
        /// xem chi tiết nhân viên
        /// </summary>
        /// <param name="MaNhanVien"></param>
        /// <returns></returns>
        public DataTable XemChiTietNhanVien(string MaNhanVien)
        {
            DataProvider dp = new DataProvider();
            DataTable dt = new DataTable();
            SqlParameter[] Parameter = new SqlParameter[1];
            Parameter[0] = new SqlParameter("@MaNhanVien", MaNhanVien);
            dt = dp.ExecuteQuery("ChiTietNhanVien", Parameter);
            return dt;
        }
        /// <summary>
        /// Cập nhật mật khẩu
        /// </summary>
        /// <param name="MaNhanVien"></param>
        /// <returns></returns>
        public bool CapNhatMatKhau(string MaNhanVien,string MatKhau)
        {            
            DataProvider dp = new DataProvider();            
            SqlParameter[] Parameter = new SqlParameter[2];
            Parameter[0] = new SqlParameter("@MaNhanVien", MaNhanVien);
            Parameter[1] = new SqlParameter("@MatKhau", MatKhau);
            return dp.ExecutenonQuery("CapNhatMatKhau", Parameter);            
        }
        /// <summary>
        /// Cập nhật thông tin
        /// </summary>
        /// <param name="MaNhanVien"></param>
        /// <returns></returns>
        public bool CapNhatThongTinNhaVien(NhanVien NhanVien)
        {
            DataProvider dp = new DataProvider();           
            SqlParameter[] Parameter = new SqlParameter[8];
            Parameter[0] = new SqlParameter("@MaNhanVien", NhanVien.MaNV);
            Parameter[1] = new SqlParameter("@HoTen", NhanVien.TenNV);
            Parameter[2] = new SqlParameter("@DiaChi", NhanVien.DiaChi);
            Parameter[3] = new SqlParameter("@Email", NhanVien.Email);
            Parameter[4] = new SqlParameter("@DienThoai", NhanVien.DienThoai);
            Parameter[5] = new SqlParameter("@TenDangNhap", NhanVien.TenDN);
            Parameter[6] = new SqlParameter("@MaChucVu", NhanVien.MaChucVu);
            Parameter[7] = new SqlParameter("@IsDelete", NhanVien.IsDelete);
            return dp.ExecutenonQuery("CapNhatThongTinNhanVien", Parameter);            
        }
    }
}
